/*
 * Copyright (c) 2001, 2002 Boris Pruessmann and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Common Public License v0.5
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v05.html
 * 
 * Contributors:
 *    Boris Pruessmann - Initial implementation.
 */
package net.sourceforge.perforce.core.api;

/** Interface descriping the perforce client form.
  * 
  * @version $Revision: 33 $
  * @author  <a href="mailto:dcorbin@users.sourceforge.net">David Corbin</a>
  * @author  <a href="mailto:bpruessmann@users.sourceforge.net">Boris Pruessmann</a>
  */
public interface IClientForm 
{
	/** Returns the date the client was last used in any way.
	  * 
	  * @return the date of last access.
	  */
	String getAccess();
		
	/** Call this method to retrieve the client name.
	  * 
	  * @return the name of the client.
	  */	
	String getClient();
	
	/** Returns a short description of the client (optional).
	  * 
	  * @return the short description.
	  */
	String getDescription();
	
	/** Returns the host to which the client spec belongs.
	  * If set, restricts access to the named host.
	  * 
	  * @return the name of the host.
	  */
	String getHost();
	
	/** Returns the text file line endings on client.
	  * 
	  * @return local/unix/mac/win/share
	  */
	String getLineEnd();
	
	/** Returns the client's options.
	  * 
	  * @return the option string.
	  */
	String getOptions();
	
	/** Call this method to retrieve the user who created this client.
	  * 
	  * @return the creator of the client.
	  */
	String getOwner();
	
	/** Call this to retrieve the base directory of the client workspace.
	  * 
	  * @return the base directory of the workspace.
	  */
	String getRoot();
	
	/** Returns the date the specification was last modified.
	  * 
	  * @return the modification date.
	  */
	String getUpdate();
	
	/** Lines to map depot files into the client workspace.
	  * 
	  * @return the client view mappings.
	  */
	String[] getView();
}
